Temporary Variable is Used for Several Purposes (TVUSP)

Description:

TVUSP detects if the same temporary variable is used for several different purposes.

Incorrect:

var index:integer;
val:integer;
begin
  index := base + offs;
  val := arr[index];
  for index := 0 to High(arr) do
    arr[index] := val;

Correct:

var index:integer;
val:integer;
i:integer;
begin
  index := base + offs;
  val := arr[index];
  for i := 0 to High(arr) do
    arr[i] := val;

Refactoring: